<?php
/**
 * ===============================================
 * 版权所有 2019-2050 青岛铁锤科技有限公司，并保留所有权利。
 * 网站地址: http://www.huaxianling.com
 * ===============================================
 * Author: Alex
 * Created Time: 2019/7/3 16:12
 * Modified Time: 2019/7/3 16:12
 * Version: 2.0
 */
namespace App\Lib\Contracts;
interface FLAuth
{
    /**
     * 获取当前登录用户
     * @return \Illuminate\Contracts\Auth\Authenticatable
     */
    public function user();
    /**
     * 当前登录用户ID
     * @return int|string|null
     */
    public function id();
    /**
     * 校验当前是否认证
     * @return boolean
     */
    public function check();
    /**
     * 当前门店ID
     * @return int|null
     */
    public function store();
    /**
     * 当前角色,多个返回数组
     * @param int|null  $store 指定门店ID 默认当前门店
     * @return array|int|null
     */
    public function roles($store = null);
    /**
     * 是否创始人
     * @param int|null  $store 指定门店ID 默认当前门店
     * @return boolean
     */
    public function isSuperBoss($store = null);
    /**
     * 是否店长
     * @param int|null  $store 指定门店ID 默认当前门店
     * @return boolean
     */
    public function isBoss($store = null);
    /**
     * 是否股东
     * @param int|null  $store 指定门店ID 默认当前门店
     * @return boolean
     */
    public function isHolder($store = null);
    /**
     * 是否店长
     * @param int|null  $store 指定门店ID 默认当前门店
     * @return boolean
     */
    public function isBarber($store = null);
    /**
     * 指定角色
     * @param array|null $role 指定角色 默认当前角色
     * @return mixed
     */
    public function storeList($role=[]);


}